home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #288 (1993)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #288 (1993)(Rhein-Sieg-Soft).adf
/
Knobeln
/
LEITUNGEN.LST
< prev
next >
Wrap
File List
|
1992-06-01
|
8KB
|
246 lines
' *******************************
' * Leitungen V1.00 *
' * © 1992 by henry König *
' * Bornheide 71, 2 hamburg 53 *
' *******************************
init ! Bildschirm und Fenster öffnen
farben.setzen ! Farben setzen
menueein ! Menüs einschalten
info ! Startinfo
programmkopf
PRINT AT(24,31);"Bitte wählen Sie einen Menüpunkt!"
ON MENU GOSUB menÜkontrolle
REPEAT
SLEEP
UNTIL ende!
CLOSEW #1 ! Fenster schließen
CLOSES 1 ! Bildschirm schließen
END ! system
PROCEDURE auflÖsung !
programmkopf
kraftwerke ! Kraftwerke zeichnen
haeuser ! Häuser zeichnen
PCOLOR 5,0
PRINT AT(24,15);"Ich weiß leider auch keine Lösung!"
tastendruck
RETURN
PROCEDURE beenden ! Programm beenden
ALERT 0,"Wollen Sie aufhören",1,"Ende|Weiter",wahl%
ende!=(wahl%=1)
RETURN
PROCEDURE daten ! Daten für Menüs und Anweisungen
menue.daten:
DATA "Projekt "
DATA "+I Info "
DATA " Spiel starten "
DATA " Auflösung "
DATA "+Q Programm beenden "
DATA ""
DATA "*"
RETURN
PROCEDURE haeuser ! Häuser zeichnen
a%=80
aa%=60
b%=100
dd%=160
d%=140
c%=300
cc%=280
e%=320
ee%=520
f%=500
ff%=540
ddd%=176
COLOR 2 ! schwarz für die Dächer
DRAW "MA",a%,d% ! Giebel vom 1. Haus
DRAW "DA",aa%,dd%
DRAW "DA",b%,dd%
DRAW "DA",a%,d%
DRAW "MA",c%,d% ! Giebel vom 2. Haus
DRAW "DA",cc%,dd%
DRAW "DA",e%,dd%
DRAW "DA",c%,d% ! Giebel vom 3. Haus
DRAW "MA",ee%,d%
DRAW "DA",f%,dd%
DRAW "DA",ff%,dd%
DRAW "DA",ee%,d%
COLOR 1 ! weiß für die Häuserboxen
PBOX aa%,dd%,130,ddd%
PBOX cc%,dd%,350,ddd%
PBOX f%,dd%,570,ddd%
RETURN
PROCEDURE info
programmkopf
startbild
PCOLOR 3,0
PRINT AT(10,31);"© 1992 by henry König, Bornheide 71, 2000 Hamburg 53"
PCOLOR 1,0
PRINT AT(2,25);"Dieses Programm darf kopiert werden und in jede PD-Serie übernommen werden."
tastendruck
RETURN
PROCEDURE kraftwerke ! Kraftwerke zeichnen
COLOR 5
PBOX 60,57,70,80 ! Schornstein
PBOX 70,70,120,80
COLOR 4
PBOX 280,57,290,80 ! Schornstein
PBOX 290,70,340,80
COLOR 3
PBOX 500,57,510,80 ! Schornstein
PBOX 510,70,560,80
RETURN
PROCEDURE mauss ! Punkte an Mausposition zeichnen
CLR neu% ! Einstiegswert für die Schleife
COLOR 5
WHILE neu%=0
mausk%=MOUSEK ! Mausknopf
x=MOUSEX ! Rechtswert der Maus
y=MOUSEY ! Hochwert der Maus
IF mausk% THEN ! Mausknopf gedrückt?
PLOT x,y ! ja, dann Punkt (Linie) zeichnen
ENDIF
IF INT(y/8)>27 AND mausk% THEN
neu%=1 ! Neu-Schalter zum Abbruch setzen
ENDIF
WEND
COLOR 1,0 ! weiß auf grauen Grund
PCOLOR 1,0 ! weiße Schrift auf grauen Grund
RETURN
PROCEDURE menÜkontrolle ! Hauptmenü
mn%=MENU(0) ! Menüpunkt
SELECT mn%
CASE 1
info ! Info ausgeben
CASE 2
CLR neu%
programmkopf
startbild ! Startbild zeichnen
tastendruck ! auf Tastendruck warten
zeichnen ! Zeichenfeld zeichen und Zeichnen
CASE 3
auflÖsung
CASE 4
beenden ! Programm beenden
ENDSELECT
programmkopf
PRINT AT(24,31);"Bitte wählen Sie einen Menüpunkt!"
RETURN
PROCEDURE menueein ! Menüs einschalten
MENU KILL
RESTORE menue.daten
FOR menue%=0 TO 10
READ x$
EXIT IF x$="*"
menue$(menue%)=x$
NEXT menue%
DEC menue% !
menue$(menue%+6)=""
menue$(menue%+7)=""
MENU menue$()
RETURN
PROCEDURE programmkopf
CLS
COLOR 2 ! schwarze Box
PBOX 1,1,639,20
COLOR 0 ! grau
PBOX 6,4,633,17
COLOR 4 ! hellgrau
LINE 6,4,633,4
LINE 6,4,6,17
PCOLOR 5,0
PRINT AT(20,2);"V e r s o r g u n g s l e i t u n g e n V 1.00"
PCOLOR 1,0
programmfuss
RETURN
PROCEDURE programmfuss ! Anweisungsboxen zeichnen
COLOR 2 ! schwarz
PBOX 1,(27*8)-10,639,(32*8) ! schwarze Box
COLOR 0 ! grau
PBOX 6,(27*8)-7,633,(28*8)+4 ! graue Box
PBOX 6,(29*8)+2,633,(32*8)-4 ! 2. graue Box
COLOR 4 ! hellgrau
BOX 7,(27*8)-7,633,(32*8)-3
LINE 7,(29*8)+2,633,(29*8)+2
LINE 16,(29*8)-6,639-16,(29*8)-6
LINE 16,(29*8)+5,639-16,(29*8)+5
LINE 639-16,(29*8)-6,639-16,(26*8)+4 ! senkrechter Strich
LINE 16,(29*8)+5,16,(31*8)+2 ! senkrechter Strich
COLOR 2 ! schwarz
LINE 7,(32*8)-3,633,(32*8)-3 ! schwarze Linie
LINE 633,(27*8)-7,633,(32*8)-3
LINE 16,(27*8)-4,639-16,(27*8)-4
LINE 16,(31*8)+2,639-16,(31*8)+2
LINE 16,(29*8)-6,16,(26*8)+4 ! senkrechter Strich
LINE 639-16,(29*8)+5,639-16,(31*8)+2 ! senkrechter Strich
RETURN
PROCEDURE startbild ! Startbild zeichnen
PCOLOR 1,0 ! weiß
PRINT AT(4,4);"Hier sehen hier die Kraftwerke";
PCOLOR 5,0 ! gelb
PRINT " Strom,";
PCOLOR 4,0
PRINT " Wasser,";
PCOLOR 3,0 ! rot
PRINT " Gas";
PCOLOR 1,0
PRINT " und drei Häuser."
PRINT AT(4,5);"Alle Häuser müssen von den Kraftwerken versorgt werden."
PRINT AT(4,6);"Versuchen Sie die Versorgungsleitungen mit der linken Maustaste zu legen."
PRINT AT(4,7);"Nur ein Haken ist dabei, die Leitungen dürfen sich nicht kreuzen."
kraftwerke ! Kraftwerke zeichnen
haeuser ! Häuser zeichnen
RETURN
PROCEDURE taste ! ein Zeichen von der Tastatur holen
CLR x% ! Steuerzeichen löschen
CLR mausk%
CLR mausx% ! Mausspalte löschen
CLR mausy% ! Mauszeile löschen
WHILE x%=0 AND MOUSEK=0
x$=INKEY$ ! Zeichen von Tastatur
x%=ASC(x$) ! ASCII-Wert für Auswertung
WEND
IF MOUSEK<>0 THEN ! linke Maustaste
mausx%=MOUSEX ! ja, dann Spalte = mausx
mausy%=MOUSEY ! Zeile = mausy
mausk%=MOUSEK ! Maustaste
ENDIF
RETURN
PROCEDURE tastendruck
PRINT AT(24,28);SPACE$(34);
PCOLOR 5,0
PRINT AT(24,28);" Weiter mit Taste oder Mausklick."
taste
PCOLOR 1,0
PRINT AT(24,28);SPACE$(32)
RETURN
PROCEDURE zeichnen ! Zeichenfeld zeichnen
programmkopf
kraftwerke ! Kraftwerke zeichnen
haeuser ! Häuser zeichnen
PRINT AT(2,2);" Immer vom Kraftwerk zeichnen und die linke Maustaste gedrückt halten."
PRINT AT(22,28);"Leitungen dürfen sich n i c h t kreuzen!"
PCOLOR 5,0
PRINT AT(24,31);"Abbruch mit Mausklick in diese Zeile."
mauss ! zur Zeichenroutine
RETURN
PROCEDURE init ! Bildschirm und Fenster öffnen
DIM menue$(20)
breite%=640 ! Screenbreite
hoehe%=256 ! Screenhöhe
ebenen%=3 ! 3 Bitplanes
OPENS 1,0,0,breite%,hoehe%,ebenen%,&H8000
OPENW #1,0,0,breite%,hoehe%,&H18,&H1800,1
farben.setzen ! Farbpalette setzen
RETURN
PROCEDURE farben.setzen ! Farbpalette setzen
SETCOLOR 0,5,5,5 ! grau statt blau
SETCOLOR 1,15,15,15 ! weiß bleibt
SETCOLOR 2,0,0,0 ! schwarz erhalten
SETCOLOR 3,15,5,0 ! rot bleibt
SETCOLOR 4,10,10,10 ! hellgrau inverse Farbe im Filerequester
SETCOLOR 5,15,15,0 ! gelb
SETCOLOR 6,0,0,0 ! schwarz = Inverse Farbe im Filerequester
RETURN
REM ! damit der Interpreter beim Kopieren nicht
REM ! abstürzt